package etm.negocio;

import java.sql.Date;
import java.util.Collection;

import etm.dao.*;
import etm.excepcion.DAOExcepcion;
import upc.condominio.modelo.*;

public class GestionQueja {

	public Collection<Queja> buscarPorResidente(String nombre) throws DAOExcepcion {
		QuejaDAO dao = new QuejaDAO();
		return dao.buscarPorResidente(nombre);
	}
	
	public Collection<Queja> buscarPorFechaEstado(Date datFechaInicio, Date datFechaFin, String strEstado) throws DAOExcepcion {
		QuejaDAO dao = new QuejaDAO();
		return dao.buscarPorFechasEstado(datFechaInicio, datFechaFin, strEstado);
	}
	
	public void insertar(int intIdResidente,Date datFechaQueja, String strTipoQueja, String strMotivo, String strdescripcion)
			throws DAOExcepcion {
		GestionResidente grResidente = new GestionResidente();
		Residente res = grResidente.buscarPorId(intIdResidente);
		GestionTipoQueja gTipoQueja = new GestionTipoQueja();
		TipoQueja tq = gTipoQueja.BuscarporId(strTipoQueja);
		QuejaDAO dao = new QuejaDAO();

		Queja vo = new Queja();
		vo.setRsResidente(res);
		vo.setFechaQueja(datFechaQueja);
//		vo.setTipoQueja(strTipoQueja);
		vo.setTipoQueja(tq);
		vo.setMotivo(strMotivo);
		vo.setDescripcion(strdescripcion);
		dao.insertar(vo);

	}
	
	public void eliminar(int intIdQueja) throws DAOExcepcion {
		QuejaDAO dao = new QuejaDAO();

		dao.eliminar(intIdQueja);
	}
	
	public Queja buscarPorId(int intIdQueja) throws DAOExcepcion {
		QuejaDAO dao = new QuejaDAO();

		return dao.buscarPorId(intIdQueja);
	}
	
	public void actualizar(int indIdQueja, int intIdResidente, String strTipo, String strMotivo, String strDescripcion)
			throws DAOExcepcion {
		QuejaDAO dao = new QuejaDAO();
		ResidenteDAO resdao = new ResidenteDAO();
		Residente res = resdao.buscarporId(intIdResidente);
		
		GestionTipoQueja gTipoQueja = new GestionTipoQueja();
		TipoQueja tq = gTipoQueja.BuscarporId(strTipo);
	
		Queja vo = new Queja();
		vo.setIdQueja(indIdQueja);
		vo.setRsResidente(res);
//		vo.setTipoQueja(strTipo);
		vo.setTipoQueja(tq);
		vo.setMotivo(strMotivo);
		vo.setDescripcion(strDescripcion);
		
		dao.actualizar(vo);

	}
}
